1
Chuyển đổi sang Đại số tuyến tính số
MATH004Lesson 9
00:00
Đại số tuyến tính số là động cơ của máy tính hiện đại, nối liền khoảng cách giữa vẻ đẹp toán học biểu tượng và hiệu suất phần cứng thô. Trong khi đại số lý thuyết coi một phép dịch chuyển $T(v) = v + v_0$ như một phép cộng đơn giản, thì máy tính lại xem đây là sự gián đoạn đối với các kênh xử lý ma trận được tối ưu hóa. Để đạt tốc độ tối đa, chúng ta cần thay đổi góc nhìn: mở rộng chiều không gian để biến "sự dịch chuyển" thành "nhân có cấu trúc."

1. Từ phép cộng đến phép nhân

Trong các khuôn khổ lý thuyết, các phép biến đổi tuyến tính và phép dịch chuyển (biến đổi affine) thường được xử lý riêng biệt. Tuy nhiên, các thư viện hiệu suất cao như BLAS (Các thủ tục con đại số tuyến tính cơ bản) được tối ưu hóa cụ thể cho các phép nhân ma trận-véc-tơ và ma trận-ma trận. Để tận dụng các kernel này, chúng ta biểu diễn mọi thao tác dưới dạng:

$$T(v) = Av$$

2. Tọa độ đồng nhất

Để thực hiện một phép dịch chuyển trong $\mathbf{R}^n$ bằng ma trận, chúng ta mở rộng sang $\mathbf{R}^{n+1}$. Một véc-tơ $[x, y, z]^T$ trở thành $[x, y, z, 1]^T$. Số '1' bổ sung này cho phép việc dịch chuyển được mã hóa vào cột cuối cùng của ma trận $(n+1) \times (n+1)$.

Cấu trúc mở rộng

Một phép dịch chuyển theo $v_0 = [t_x, t_y, t_z]^T$ được biểu diễn bởi:

$$A = \begin{bmatrix} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix}$$

Bảo tồn tính toán

Các số $0, 0, 0, 1$ ở hàng cuối đóng vai trò then chốt. Khi $A$ nhân với một véc-tơ có thành phần cuối cùng là $1$, thành phần cuối cùng kết quả là:

$(0 \cdot x) + (0 \cdot y) + (0 \cdot z) + (1 \cdot 1) = 1$

Điều này đảm bảo tính chất "affine" của dữ liệu được bảo toàn, cho phép thực hiện các thao tác tuần tự mà không làm mất tính toàn vẹn của hệ tọa độ.

3. Chuẩn thực thi: BLAS

Hiệu quả tính toán phụ thuộc vào các thủ tục chuẩn hóa. BLAS cung cấp ba cấp độ thao tác:

  • Cấp độ 1: Các thao tác véc-tơ-véc-tơ (ví dụ: tích vô hướng).
  • Cấp độ 2: Các thao tác ma trận-véc-tơ ($Ax+b$).
  • Cấp độ 3: Các thao tác ma trận-ma trận ($AB+C$), là những thao tác tính toán dày đặc nhất và hiệu quả về phần cứng nhất.
🎯 Nguyên lý cốt lõi
Đại số tuyến tính số thống nhất nhiều thao tác hình học khác nhau thành các phép nhân véc-tơ-ma trận ($T(v) = Av$) sử dụng tọa độ đồng nhất. Điều này cho phép phần cứng sử dụng các routine BLAS được tối ưu hóa để xử lý hàng triệu thao tác mỗi giây mà vẫn giữ nguyên tính toàn vẹn cấu trúc.